Skip to content

Conversation

@panos-lunarg
Copy link
Contributor

Two new functions are implemented and should be discoverable through dlopen+dlsym:

  • GFXRSetTrimmingState(bool): Controls enabling/disabling trimming. For this to work trimming must be enabled either by setting a hot key (desktop) or by enabling the android capture trigger option (debug.gfxrecon.capture_android_trigger)

  • GFXRGetCaptureMode() Returns the current capture mode GFXR as an uint32_t:

  • 0 (disabled): GFXR is disabled

  • 1 (write): Writing mode. This state means that GFXR is in full capture mode (not trimming)

  • 2 (track): GFXR is in tracking mode. Trimming can be enabled by either pressing the hot key (or setting the android trigger option) or by calling GFXRSetTrimmingState(true)

  • 3 (write and track): GFXR is writing a trimmed capture. Capturing can be interrupted by either pressing again the hot key (or setting the android trigger option appropriately) or by calling GFXRSetTrimmingState(false)

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 621373.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8566 running.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 9b2861c to 261b4af Compare January 13, 2026 13:16
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 621403.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8567 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8567 passed.

@wpaul-samsung
Copy link
Contributor

I set trimming signal callbacks with SetSignalTrimmingCallbacks(). For a frame range capture, I get the expected results. The callbacks happen at the expected frame. For a manual capture, where we set debug.gfxrecon.capture_android_trigger to true to start the capture and to false when we want to stop capturing, I seem to get the start signal at the expected frame, but the end signal comes back at the very next frame, even if I capture 100 frames.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 261b4af to b8d602f Compare January 15, 2026 20:01
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 623762.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8607 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8607 passed.

@wpaul-samsung
Copy link
Contributor

I set trimming signal callbacks with SetSignalTrimmingCallbacks(). For a frame range capture, I get the expected results. The callbacks happen at the expected frame. For a manual capture, where we set debug.gfxrecon.capture_android_trigger to true to start the capture and to false when we want to stop capturing, I seem to get the start signal at the expected frame, but the end signal comes back at the very next frame, even if I capture 100 frames.

This works as expected now

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from b8d602f to 180d86f Compare January 18, 2026 11:36
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 626151.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8628 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8628 passed.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 180d86f to 50b6a6e Compare January 19, 2026 12:31
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 626683.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8632 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8632 passed.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 628172.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8652 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8652 failed.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 480e30e to 8bbf090 Compare January 21, 2026 05:46
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 628478.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8657 running.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 8bbf090 to 211a0f4 Compare January 21, 2026 06:25
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 628501.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8658 running.

@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from 211a0f4 to bd88947 Compare January 21, 2026 06:49
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 628521.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8659 running.

@panos-lunarg panos-lunarg marked this pull request as ready for review January 21, 2026 07:33
@panos-lunarg panos-lunarg requested a review from a team as a code owner January 21, 2026 07:33
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8659 passed.

Two new functions are implemented and should be discoverable through
dlopen+dlsym:

* GFXRSetTrimmingState(bool): Controls enabling/disabling trimming. For
this to work trimming must be enabled either by setting a hot key
(desktop) or by enabling the android capture trigger option
(debug.gfxrecon.capture_android_trigger)

* GFXRGetCaptureMode() Returns the current capture mode GFXR as an
uint32_t:
- 0 (disabled):
GFXR is disabled

- 1 (write):
Writing mode. This state means that GFXR is in full capture mode (not
trimming)

- 2 (track):
GFXR is in tracking mode. Trimming can be enabled by either pressing the
hot key (or setting the android trigger option) or by calling
GFXRSetTrimmingState(true)

- 3 (write and track):
GFXR is writing a trimmed capture. Capturing can be interrupted by
either pressing again the hot key (or setting the android trigger option
appropriately) or by calling GFXRSetTrimmingState(false)
SetSignalTrimmingCallbacks should be possible to be discovered via
dlopen+dlsym on the layer .so.

This allows installing 2 callback functions which will be called when
trimming state changes.
First callback is called when trimming starts and the second when
trimming stops
@panos-lunarg panos-lunarg force-pushed the externally_trigger_trimming branch from bd88947 to a748cb0 Compare January 21, 2026 20:51
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 629028.

@bradgrantham-lunarg
Copy link
Contributor

@fabian-lunarg can you give this a lookover?

@bradgrantham-lunarg bradgrantham-lunarg removed the request for review from antonio-lunarg January 21, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants